package com.alks.function.service;

import com.alks.entity.data.entity.Quotation;
import com.alks.entity.data.entity.QuotationType;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.quotation.*;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.util.List;
import java.util.Map;


/**
 * @author:xxxxx
 * @create: 2023-06-17 10:01
 * @Description: 报价型体接口
 */
public interface QuotationTypeService extends IService<QuotationType> {
    ResponseInfo quotationList(QuotationTypeRequest request);

    ResponseInfo quotationListDetail(QuotationTypeDetailRequest request);

    ResponseInfo updateQuotationTypeDetail(IQuotationDetailRequest request);

    ResponseInfo getYfStyleCostBase();

    ResponseInfo setYfStyleCostBase(Map<String,Object> map);

    ResponseInfo setQuotationTypeDetail(IQuotationDetailRequest request);

    ResponseInfo getMtlProperty();

    ResponseInfo getCurrency();

    ResponseInfo deleteQuotationTypeDetail(DeleteQuotationDetailRequest request);

    ResponseInfo deleteQuotation(DeleteQuotationRequest request);

    ResponseInfo getQuotationCondition();

    ResponseInfo getQuotation(GetQuotationRequest request);

    ResponseInfo quotationSetHeadAndDetail(QuotationRequest request);

    ResponseInfo reAndDevelopList(ReAndDevelopRequest request);

    ResponseInfo getReAndDevelopCondition();

    ResponseInfo getBomStyleMaterial(ReAndDevelopRequest request);

    ResponseInfo bomStyleDetail(String mtlNo);

    ResponseInfo setBomStyleRemark(String style, String color, String remark);

    ResponseInfo getStyleResearchCondition();

    ResponseInfo getStyleResearch(StyleResearchRequest request);

    ResponseInfo getStyleResearchDetail(String styleNo);

    ResponseInfo quotationCondition();

    ResponseInfo getPcStyleCraftHead(PcStyleCraftRequest request);

    ResponseInfo getPcStyleCraftDetail(String style, String color,String flag);

    ResponseInfo getPcBomStyleColor(PcBomColorRequest request);

    ResponseInfo getPcBomStyleDetail(String mtlNo);

    ResponseInfo updateQuotationStyleCheck(QuotationTypeCheckRequest request);

    ResponseInfo updateUsdAndTypeName(UpdateQuotationRsbAndTypeRequest request);

    void downloadReDevelop(HttpServletResponse response, ReAndDevelopRequest req) throws MalformedURLException;

    void downloadStyle(HttpServletResponse response, List<String> list) throws UnsupportedEncodingException;

    void downloadPcBom(HttpServletResponse response, PcBomColorRequest request);

    ResponseInfo gouXQuotation(Quotation quotation);
}
